/*
* @Author: liyanweiofwin
* @Date:   2017-06-13 20:16:11
* @Last Modified by:   liyanweiofwin
* @Last Modified time: 2017-06-17 17:01:31
*/

'use strict';
var Hogan = require('hogan.js');

var conf = {
	serverHost : ''
};
var _mm ={
	request : function(param){
		var _this = this;
		$.ajax({
			type    :param.method|| 'get',
			url	    :param.url   || '',
			dataType:param.type  || 'json',
			data    :param.data  || '',
			success :function(res){
				//请求成功
				if (0 === res.status) {
					typeof param.success === 'function' && param.success(res.data,res.msg);
				}
				//没有登登录状态
				else if (10 === res.status) {
					this.doLogin();
				}
				//请求数据数据错误
				else if (1 === res.status) {
					typeof param.error === 'function' && param.error(res.msg);
				}
			},	
			error	:function(err){
				typeof param.error === 'function' && param.error(res.status);
			}
		});
	},
	//获取服务器地址
	getServerUrl : function(path){
		return conf.serverHost + path ;
	},
//  获取URL参数
	getUrlParam : function(name){
		var reg 	  = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
		var result    = window.location.search.substr(1).match(reg);
		return result ? decodeURIComponent (result[2]) : null;
	},

    // 渲染html模板
    renderHtml : function(htmlTemplate, data){
        var template    = Hogan.compile(htmlTemplate),
            result      = template.render(data);
        return result;
    },
    successTips : function(msg){
    	alert(msg || '操作成功');
    },
    error : function(msg){
    	alert(msg || '哪里出错了吧');
    },
        // 字段的验证，支持非空、手机、邮箱的判断
    validate : function(value, type){
        var value = $.trim(value);
        // 非空验证
        if('require' === type){
            return !!value;
        }
        // 手机号验证
        if('phone' === type){
            return /^1\d{10}$/.test(value);
        }
        // 邮箱格式验证
        if('email' === type){
            return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
        }
    },
	doLogin : function(){
		window.location.href = './login.html?redirect='+encodeURICompent(window.location.href);
	}
};

module.exports = _mm;